package cn.sumpu.app.guoguojie.dao;

import java.util.List;
import java.util.Map;

import cn.sumpu.app.guoguojie.domain.Rush;
import cn.sumpu.app.guoguojie.domain.RushPhone;
import cn.sumpu.app.guoguojie.domain.RushPlan;
import cn.sumpu.app.guoguojie.domain.RushTime;
import cn.sumpu.app.guoguojie.domain.RushTimePart;
import cn.sumpu.app.guoguojie.exception.AppBusinessException;

public interface RushDao {
	//添加新活动计划
	public void insert(Rush rush) throws AppBusinessException;
	//查询所有活动计划
	public List<Rush> selectRushList(Map<String, Object> map)throws AppBusinessException;
	//查询所有计划总数
	public int getRushListCount(Map<String, Object> map)throws AppBusinessException;
	//更新活动计划
	public void update(Rush rush)throws AppBusinessException;
	//删除活动计划
	public void delete(String identifier)throws AppBusinessException;
	//查询活动详情
	public List<RushPlan> selectRushPlanList(String identifier)throws AppBusinessException;
	//查询活动
	public Rush select(String identifier)throws AppBusinessException;
	//添加事件
	public void insertRushPlan(RushPlan rushPlan) throws AppBusinessException;
	//添加事件时间
	public void insertRushTime(RushTime rushTime) throws AppBusinessException;
	//删除事件
	public void deleteRushPlan(String identifier)throws AppBusinessException;
	//删除事件时间
	public void deleteRushTime(String rushPlanId)throws AppBusinessException;
	//查询某活动内某一事件的详情
	public RushPlan selectPlanByPlanId(String rushPlanId)throws AppBusinessException;
	//更新事件
	public void updateRushPlan(RushPlan rushPlan)throws AppBusinessException;
	//根据活动号删除Id
	public void deleteRushPlanByRushId(String rushId)throws AppBusinessException;
	//根据活动Id删除事件时间
	public void deleteRushTimeByRushId(String rushId)throws AppBusinessException;
	//
	public void insertRushtPart(RushTimePart rushTimePart) throws AppBusinessException;
	//
	public void deleteRushTimePart(String rushPlanId)throws AppBusinessException;
	//
	public void deleteRushTimePartByRushId(String rushId)throws AppBusinessException;
	//查询符合规则的活动计划集合
	public List<Rush> selectRushForGrid()throws AppBusinessException;
	//产询符合规则的事件
	public List<RushPlan> selectRushPlanListForGrid(String rushId)throws AppBusinessException;
	//
	public void updateRushTimePart(RushTimePart rushTimePart)throws AppBusinessException;
	//时事更新数据库奖品数量
	public void updateRushTime(String rushTimeId)throws AppBusinessException;
	//
	public void updateTimeCountE()throws AppBusinessException;
	//定时发布所有时间
	public List<RushTime> selectAllTime()throws AppBusinessException;
	//定时发布 删除所有时间段
	public void deleteAllTimePart()throws AppBusinessException;
	//记录中奖人的信息
	public void insertRushPhone(RushPhone rushPhone) throws AppBusinessException;
	//查询手机号是否中将
	public List<RushPhone> selectPhoneList(String phontNum)throws AppBusinessException;
	//
	public RushPhone selectPhoneWin(Map<String, Object> map)throws AppBusinessException;
	//
	public List<RushPhone> selectAllPhone()throws AppBusinessException;
	//
	public List<RushPlan> selectRushPlanList(Map<String, Object> map)throws AppBusinessException;
}
